Funcţii matematice (headerul <cmath>)



Funcţii aritmetice
Valori absolute
int abs(int x);
Returnează un întreg care reprezintă valoarea absolută a argumentului.

double fabs(double x);
Returnează un real care reprezintă valoarea absolută a argumentului real.

Funcţii de rotunjire
double floor(double x);
Returnează un real care reprezintă cel mai apropiat număr, fără zecimale, mai mic sau egal cu x (rotunjire prin lipsă).
double ceil(double x);
Returnează un real care reprezintă cel mai apropiat număr, fără zecimale, mai mare sau egal cu x (rotunjire prin adaos).

Funcţii trigonometrice
double sin(double x);
Returnează valoarea lui sin(x), unde x este dat în radiani. Numărul real returnat se află în intervalul [-1, 1].
double cos(double x);
Returnează valoarea lui cos(x), unde x este dat în radiani. Numărul real returnat se află în intervalul [-1, 1].
double tan(double x);
Returnează valoarea lui tg(x), unde x este dat în radiani.
Funcţii trigonometrice inverse
double asin(double x);
Returnează valoarea lui arcsin(x), unde x se află în intervalul [-1, 1]. Numărul real returnat (în radiani) se află în intervalul [-pi/2, pi/2].
double acos(double x);
Returnează valoarea lui arccos(x), unde x se află în intervalul [-1, 1]. Numărul real returnat se află în intervalul [0, pi].
double atan(double x);
Returnează valoarea lui arctg(x), unde x este dat în radiani. Numărul real returnat se află în intervalul [0, pi].

Funcţii exponenţiale şi logaritmice
double log(double x);
Returnează logaritmul natural al argumentului ( ln(x) ).
double log10(double x);
Returnează logaritmul zecimal al argumentului (lg (x) ).
double pow(double baza, double exponent);
Returnează un real care reprezintă rezultatul ridicării bazei la exponent ().
double sqrt(double x);
Returnează rădăcina pătrată a argumentului.


Funcţii de generare a numerelor aleatoare (HEADERUL <cstdlib>)

int rand(void)
Generează un număr aleator în intervalul [0, RAND_MAX].

Exemplu
#include <iostream>
#include <cmath>

using namespace std;


main(){
int n= -1234;
double a= -123.4,c=123.78, d= -23.34;
long int b= -1234567890;

cout<<abs(n)<<endl; //1234

cout<<fabs(a)<<endl; //123.40

cout<<floor(c)<<endl; //123.00

cout<<floor(d)<<endl; //-24.00

cout<<ceil(c)<<endl; //124.00

cout<<ceil(d)<<endl; //-23.00

cout<<exp(2)<<endl;// 7.39

cout<<log(c)<<endl; //4.82

cout<<log10(c)<<endl; //2.09

cout<<pow(2,3)<<endl; //8.00

cout<<sqrt(16)<<endl; //4.00

}


Probleme propuse
  1. Scrieti programul c++ care verifică dacă un număr x citit de la tastatură este nr. intreg sau nr. real.
  2. Scrieti programul c++ care verifică dacă un număr natural x citit de la tastatură este pătrat perfect.
  3. Simulati aruncarea a 2 zaruri prin generarea a 2 numere întregi din intervalul [1,6].
  4. Să se calculeze şi să se afişeze valoarea distanţei dinte două puncte ale căror coordonate:
    • sunt citite de la tastatură.
    • sunt generate în mod aleator.